home *** CD-ROM | disk | FTP | other *** search
/ Aminet 22 / Aminet 22 (1997)(GTI - Schatztruhe)[!][Dec 1997].iso / Aminet / util / rexx / MedTool.lha / Medtool.rexx < prev   
OS/2 REXX Batch file  |  1997-08-25  |  2KB  |  89 lines

  1. /* $VER: MedTool.rexx 1.0 (20.08.97) by A.Schumm    */
  2. /* Zum Erstellen von Instrumentenlisten für Octamed */
  3. /* creates sample-lists for octamed                 */
  4.  
  5. options results
  6.  
  7. SIGNAL ON break_c
  8. SIGNAL ON failure
  9. SIGNAL ON halt
  10. SIGNAL ON ioerr
  11. SIGNAL ON syntax
  12.  
  13. IF ~SHOW('LIBRARIES','rexxreqtools.library') THEN DO
  14.    IF ~ADDLIB('rexxreqtools.library',0,-30) THEN DO
  15.       SAY 'need the <rexxreqtools.library> !!!'
  16.       EXIT(10)
  17.    END
  18. END
  19.  
  20. IF ~SHOW('LIBRARIES','rexxarplib.library') THEN DO
  21.    IF ~ADDLIB('rexxarplib.library',0,-30,0) THEN DO
  22.       SAY 'need th <rexxarplib.library> !!!'
  23.       EXIT(10)
  24.    END
  25. END
  26.  
  27. datei = rtfilerequest('ram:','med_paths','select a new list:',,,)
  28. IF ~rtresult THEN EXIT(10)
  29. platte = rtfilerequest('DH0:',,'Where are the samples ?','create','rtfi_flags = freqf_nofiles',)
  30. IF ~rtresult THEN EXIT(10)
  31.  
  32. a = open('ausgabe',datei,'W')
  33.  
  34. Summe = 0
  35. Andir = 0
  36. PostMsg(270,60,'MedTool 1.0 by Andreas Schumm\'Summe' Samples')
  37.  
  38. Summe = KATALOG(platte)
  39. a = rtezrequest('In all: 'Summe' Samples','Super!',,,)
  40. a = close ("ausgabe")
  41. TheEnd(0)
  42.  
  43.  
  44. KATALOG:procedure expose Summe Andir
  45. arg path
  46.    Anz_Dirs = filelist(path'#?',DirListe,D,E)
  47.    IF Anz_Dirs >0 THEN DO
  48.     Andir = Andir + Anz_Dirs
  49.     do j = 1 to Anz_Dirs
  50.      Summe=KATALOG(Dirliste.j'/',1)
  51.     end
  52.    END
  53.    Anz_Inst = filelist(path'~(#?.info)',FileListe,F,N)
  54.    IF Anz_Inst = 0 THEN Return Summe
  55.    b = writeln('ausgabe','*'path)
  56.    do a = 1 to Anz_Inst
  57.       b = writeln('ausgabe',FileListe.a)
  58.    end
  59.    Summe = Summe+Anz_Inst
  60.    PostMsg(270,60,'MedTool 1.0 by Andreas Schumm\'Summe' Samples\in 'Andir' directory(s)')
  61. return Summe
  62.  
  63. /* Normales Ende */
  64.  
  65. TheEnd: procedure
  66.  parse arg ErrCode
  67.  PostMsg()
  68.  
  69.  CALL REMLIB('rexxarplib.library') 
  70.  CALL REMLIB('rexxreqtools.library')
  71.  address COMMAND 'avail >NIL: flush'
  72.  
  73.  EXIT(ErrCode)
  74. return
  75.  
  76.  
  77. /* Fehlerbehandlung */
  78.  
  79. break_c:
  80. failure:
  81. halt:
  82. ioerr:
  83. syntax:
  84.  say '+++ Fehler' rc 'in Zeile' sigl '-' ERRORTEXT(rc)
  85.  say SOURCELINE(sigl)
  86.  IF app ~= '00000000'x THEN
  87.     CALL TR_DELETEAPP (app)
  88.  EXIT(10)
  89.